/* 
 * File:   VisibleStackSizeParameterMemento.h
 * Author: Gab'z
 *
 * Created on 29 mai 2012, 10:58
 */

#ifndef VISIBLESTACKSIZEPARAMETERMEMENTO_H
#define	VISIBLESTACKSIZEPARAMETERMEMENTO_H

#include "Memento.h"
#include "../command/literal/Integer.h"

namespace calculator {
    class UndoableRedoableCommand;

    class VisibleStackSizeParameterMemento : public Memento {
        friend class VisibleStackSizeParameterCommand;

    public:
        VisibleStackSizeParameterMemento(
                UndoableRedoableCommand* undoableRedoableCommand,
                const Integer* integer,
                int visibleStackSize);
        virtual ~VisibleStackSizeParameterMemento();

    private:
        const Integer* _integer;
        unsigned int _visibleStackSize;
        
        VisibleStackSizeParameterMemento(const VisibleStackSizeParameterMemento& orig);
    };
}

#endif	/* VISIBLESTACKSIZEPARAMETERMEMENTO_H */

